Serge Demeyer | Publications | E-mail Feedback
Last updated on Thursday, November 16, 2023
@inproceedings{Ramkisoen2022esecfse, author = {Ramkisoen, Poedjadevie Kadjel and Businge, John and Van Bradel, Brent and Decan, Alexandre and Demeyer, Serge and De Roover, Coen and Khomh, Foutse}, booktitle = {Proceedings {ESEC/FSE 2022} (ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering)}, title = {PaReco: Patched Clones and Missed Patches among the Divergent Variants of a Software Family}, year = {2022}, abstract = {Re-using whole repositories as a starting point for new projects isoften done by maintaining a variant fork parallel to the original. However, the common artifacts between both are not always keptup to date. As a result, patches are not optimally integrated acrossthe two repositories, which may lead to sub-optimal maintenance between the variant and the original project. A bug existing in both repositories can be patched in one but not the other (we see this as amissed opportunity) or it can be manually patched in both probablyby different developers (we see this as effort duplication). In this paper we present a tool (named PaReco) which relies on clone detection to mine cases of missed opportunity and effort duplicationfrom a pool of patches. We analyzed 364 (source - target) variant pairs with 8,323 patches resulting in a curated dataset containing1,116 cases of effort duplication and 1,008 cases of missed opportunities. We achieve a precision of 91\%, recall of 80\%, accuracy of 88\%,and F1-score of 85\%. Furthermore, we investigated the time intervalbetween patches and found out that, on average, missed patches inthe target variants have been introduced in the source variants 52 weeks earlier. Consequently, PaReco can be used to manage variability in ``time'' by automatically identifying interesting patches in later project releases to be backported to supported earlier releases.}, annote = {internationalconference}, top = {A* in CORE2021}, }